Meshes

The two-dimensional embedded delta sets (EmbeddedDeltaSet2D) in CombinatorialSpaces can be converted to and from mesh objects (Mesh) in Meshes.jl. This is useful for interoperation with packages in the JuliaGeometry ecosystem.

Visualizing embedded delta sets

The following example shows how to import a mesh from an OBJ file, convert it into an embedded delta set, and render it as a 3D mesh using WGLMakie.

using FileIO, WGLMakie, CombinatorialSpaces
set_theme!(resolution=(800, 400))
catmesh = FileIO.load(File{format"OBJ"}(download(
  "https://raw.githubusercontent.com/JuliaPlots/GLMakie.jl/master/src/GLVisualize/assets/cat.obj")))

catmesh_dset = EmbeddedDeltaSet2D(catmesh)
mesh(catmesh_dset, shading=false)

Alterntively, the embedded delta set can be visualized as a wireframe:

wireframe(catmesh_dset)

We can also construct and plot the dual complex for this mesh:

dual = EmbeddedDeltaDualComplex2D{Bool, Float32, Point{3,Float32}}(catmesh_dset)
subdivide_duals!(dual, Barycenter())
wireframe(dual)

API docs

CombinatorialSpaces.MeshInteropModule

Mesh Tools This file includes tools for importing delta sets from mesh files supported by MeshIO and for converting delta sets to meshes (for the purposes of plotting.

Meshes here are stored in the GeometryBasics.Mesh object.

source
CombinatorialSpaces.SimplicialSets.EmbeddedDeltaSet2DMethod

Constructor for EmbeddedDeltaSet2D from mesh file

This operator should work for any file support for import from MeshIO. Note that it will not preserve any normal, texture, or other data beyond points and triangles from the mesh file.

source